\section{Ejemplos}

Algunos ejemplos de cadenas válidas en inválidas:
\begin{itemize}
\item \begin{verbatim} Cadena: ^5 Resultado: 
line 1:0 no viable alternative at input '^'
\end{verbatim}
\item \begin{verbatim} Cadena: 5^6_5 
Resultado: line 1:3 missing EOF at '^'
\end{verbatim}
\item \begin{verbatim} Cadena: 5_5^6 
Resultado: Éxito
\end{verbatim}
\item \begin{verbatim} Cadena: {({{A^B}{C^D}}/{{{E^F_G}+}H})-}I
Resultado: Éxito
\end{verbatim}
\item \begin{verbatim} Cadena: (A^BC^D/E^F_G+H)-I
Resultado: Éxito (y da igual que la anterior, como pide el enunciado)
\end{verbatim}
\end{itemize}

En ambos casos los errores hablan del caracter \textasciicircum: en la primera porque no hay niguna regla que empieze con ese símbolo, con lo cual de entrada la cadena está mal; en el otro caso, porque la cadena antes del \textasciicircum la cadena está bien formada, es el \textasciicircum donde no puedeseguir armando el árbol (por eso creemos que dice que falta EOF, porque si la cadena terminara allí estaría bien).

\section{Como correr el programa}

Para correr nuestro programa, simplemente hay que ejecutar en una terminal:

\begin{verbatim}
java -jar tp.jar <nombre archivo salida>
\end{verbatim}

El nombre del archivo de la salida es opcional. Si no se especifica, la salida es el archivo res.ps.
Luego, hay que ingresar en la terminal la cadena que se quiere dibujar, seguida de un enter, seguida de un Ctrl + D (en Linux) o Ctrl + Z (en Windows).

\section{Conclusiones}
El tp nos permitio afianzar los conocimientos aprendidos en la segunda parte de la materia. Nos resulto muy interesante hacer un compilador símil latex.

Antlr nos resulto un poco complicado para usar al principio, pero por suerte cuenta con mucha documentación online, además del Libro: "The definite ANTLR Reference", que nos resulto útil para evacuar dudas, ya que tiene textos pero también ejemplos (de código gramáticas muy completos).